package com.xiaoxi.userserver.service.role;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoxi.common.exception.BMSException;
import com.xiaoxi.domain.role.BMSRoleMenu;

import java.util.List;

/**
 * @ClassName BMSRoleMenuService
 * @Description
 * @Author xiaoxi
 * @Date 2022/7/3 19:05
 * @Version 1.0
 */
public interface BMSRoleMenuService extends IService<BMSRoleMenu> {

    /**
     * 通过 角色编号 获取 角色对应菜单编号
     *
     * @param roleId
     * @return
     */
    List<Long> getRoleMenuListByRoleId(Long roleId);


    /**
     * 通过 角色编号 删除 角色对应菜单编号
     *
     * @param roleId
     */
    void deleteRoleMenuByRoleId(Long roleId);

    /**
     * 通过 菜单编号 删除 角色对应菜单编号
     *
     * @param menuIdList
     */
    void deleteRoleMenuByMenuIds(List<Long> menuIdList);


    /**
     * 通过 角色编号 添加 角色对应菜单编号
     *
     * @param roleId
     * @param roleMenuIdList
     * @return
     */
    void addRoleMenuByRoleId(Long roleId, List<Long> roleMenuIdList) throws BMSException;


    /**
     * 更新 角色 对应的菜单 编号
     *
     * @param roleId
     * @param roleMenuIdList
     */
    void updateRoleMenu(Long roleId, List<Long> roleMenuIdList) throws BMSException;

}
